package com.simen.hellobytes.lang.sort;

/**
 * @author Created by Simen.
 * @date 创建日期 2018/10/27 22:38
 * @modify 修改者 Simen
 */
public class SortUtil {

    /**
     * 冒泡排序
     *
     * @param array
     * @param comparator
     * @param <T>
     */
    public static <T> void bubbleSort(T[] array, Comparator<T> comparator) {
        for (int i = 0; i < array.length - 1; i++) {

            for (int j = 0; j < array.length - i - 1; j++) {

                if (comparator.compare(array[j], array[j + 1]) > 0) {
                    T temp = array[j];

                    array[j] = array[j + 1];

                    array[j + 1] = temp;
                }
            }
        }
    }

}
